#实现人生重开模拟器(简化版)
#1 游戏开始的时候设置初始属性~颜值,智力,体质,家境
#2游戏开始,随机生成性别和出生点
#3针对每一年都生成人生经历+(初始属性)
import random#在py中要想引入其他模块使用import进行导入
import sys
import time

print("---------------------------------------------")
print("|                                           |")
print("|              花有重开日,人无在少年            |")
print("|              欢迎来到人生重开模器!            |")
print("|                                           |")
print("---------------------------------------------")
#设置初始条件(颜值,体质,智力,家境)总数不超过20,每个单体不超过10
while True:
    face = int(input("请输入颜值:(1~10)"))
    if face < 1 or face>10:
        print("输入错误请重新输入!")
        continue
    strong = int(input("请输入体质值:(1~10)"))
    if strong < 1 or strong>10:
        print("输入错误请重新输入!")
        continue
    iq = int(input("请输入智商值:(1~10)"))
    if iq < 1 or iq > 10:
        print("输入错误请重新输入!")
        continue
    home = int(input("请输入家境值:(1~10)"))
    if home < 1 or home >10:
        print("输入错误请重新输入!")
        continue
    if face+strong+iq+home!=20:
        print("请确保输入之和为20,请重新输入!")
        continue
   # print(f"颜值 {face} 体质 {strong} 智商 {iq} 家境 {home}")
    break
#使用random.randint(beg , end)随机生成[beg,end]随机变量,直接使用random模块
point = random.randint(1,2)
if point==1:
    gender ='girl'
    print("你是女孩")
else:
    gender = 'boy'
    print("你是男孩")
#设置角色的出生点
#将出生点分为3档
point = random.randint(1,3)
if home==10:
    #第一档
    print("你出生在帝都,你的父母是高管政要")
    home+=1
    iq+=1
    face+=1

elif 7<=home<=9:
    #第二档
    if point==1:
        print("你出生在大城市,你的父母是公务员")
        face+=2
    elif point==2:
        print("你出生在大城市,你的父母是企业家")
        home+=2
    else:
        print("你出生在大城市,你的父母是大学教授")
        iq+=2
elif 4<=home<7:
    #第三档
    if point==1:
        print("你出生在三线城市,但你的父母经营着一家连锁店")
        home+=1
    elif point==2:
        print("你出生在城镇上,你的父母是高中老师")
        iq+=1
    else:
        print("你出生在城镇上,你的父母是医生")
        strong+=1


else:
    #第四档
    if point ==1:
        print("你出生在农村,你的父母是辛勤劳作的农民")
        strong+=1
        face-=1
    elif point==2:
        print("你出生在穷乡僻壤,你的父母是无业游民")
        home-=1
    else:
        print("你出生在城镇上,但你的父母感情不和")
        strong-=1

print(f"颜值 {face} 体质 {strong} 智商 {iq} 家境 {home}")
#生成人生阶段 幼年阶段 青年阶段 壮年阶段 老年阶段
#使用一个循环,按照年龄从1~10,针对每一年,都会生成一个随机数{1,2,3}
#同时根据性别,年龄,各种属性触发各种事件,随机数会对结果造成影响
#每一年执行结束都会打印这一年发生的事件(每一年只发生意见事情)
#也可能出现夭折等不确定性因素~~使用exit函数来结束程序

#幼年阶段
for age in range(1,11):
#把一整年的打印都整理到一个字符串中,在这一年的结尾统一打印
    info = f"你今年{age}岁"
    #生成一个随机数字[1,2,3]
    point = random.randint(1,3)
    #接下来编写各种事件的代码
    #性别触发的事件
    if gender =="girl" and home <=3 and point==1:
        info+= "你家里人重男轻女的思想非常严重,你被抛弃了"
        print(info)
        print("游戏结束!")
        sys.exit(0)
    #体质触发的事件
    elif strong<6 and point<3:
        info+="你生了一场病"
        if home >=5:
            info+="在你的父母帮助下,你康复了"
            home-=1
            strong+=1
        else:
            info +="你的父母没有经历给你看病,你的身体更糟糕了"
            strong-=1
    #颜值触发的事件
    elif face<=4 and age>=7:
        info +="你长得太丑了,别的小朋友都不喜欢你"
        if iq>5:
            info+="你决定好好学习填充自己!"
            iq+=1
        else:
            if gender=="boy":
                info+="你经常和小朋友去打架!"
                strong+=1
                iq-=1
            else:
                info+="你经常被其他小朋友欺负,并且不敢反抗"
                strong-=1
    #通过智商触发的事件
    elif iq<5:
        info+="你看起来傻傻的"
        if home>=8 and age>=6:
            info+="你的父母把你送到了更好的学校去学习了"
            iq+=1
        elif 4<=home<=7:
            if gender =="boy":
                info +="你的父母多鼓励你多运动长大作为一名运动员"
                strong+=1
            else:
                info += "你的父母鼓励你多多去打扮自己"
                face+=1
        else:
            info+="你的父母经常为此吵架"
            if point==1:
                strong+=1
            elif point==2:
                iq-=1
            else:
                pass
    #什么也没触发
    else:
        info+="你健康成长"
        if point == 1:
           info+= "你看见来更加健康了"
           strong+=1
        elif point==2:
            info+="你看起来更加漂亮了"
            face+=1
        else:
            pass

    #打印这一年的变化
    print(info)
    print(f"颜值 {face} 体质 {strong} 智力 {iq} 家境 {home}")
    print("----------------------------------------------")
    time.sleep(1)